home *** CD-ROM | disk | FTP | other *** search
/ Creative Computers / Creative Computers CD-ROM, Volume 1 (Legendary Design Technologies, Inc.)(1994).iso / commercial / visual_inspirations / mlm / rexx / ppageinfo.rexx < prev    next >
OS/2 REXX Batch file  |  1994-11-17  |  4KB  |  156 lines

  1. /*
  2.                               PPageInfo.Rexx
  3.                            Written By J.L. White
  4.                         (C) 1993 Merlin's Software
  5.  
  6.            For Use With Mailing List Manager & Professional Page
  7.                    Create Info Data Sheets From Database
  8. */
  9.  
  10. Font = "Times"
  11. FontSize1 = 14
  12. FontSize2 = 11
  13. FontSize3 = 8
  14. RecordsPerPage1 = 4
  15. RecordsPerPage2 = 10
  16. RecordsPerPage3 = 21
  17. CR = '0a'x
  18. arg Total
  19.  
  20. call SetUp
  21. call ppm_PPageToFront()
  22. call ColumnAndText
  23. call PickPrint
  24. call ppm_PPageToBack()
  25. call ppm_New()
  26. exit
  27.  
  28. SetUp:
  29.     FileName = "RAM:MLM.Temp"
  30.     call ppm_New()
  31.     ppm_CreatePage(1,1,1,1,0)
  32.     ppm_DeleteBox(1)
  33.     call ppm_SetFont(Font)
  34.     call ppm_SetStyle(B)
  35.     call ppm_SetJustification(0)
  36. return
  37.  
  38.  
  39. OneColumn:
  40.     Numeric Digits 3
  41.     TempTotal = Total / RecordsPerPage1
  42.     Numeric Digits 1
  43.     TotalPages = Total / RecordsPerPage1
  44.     if TempTotal > TotalPages then TotalPages = TotalPages + 1
  45.     Box1 = ppm_CreateBox(0.3000,0.2600,7.9000,10.4500,0)
  46.     BoxA = Box1
  47.     do i = 2 to TotalPages
  48.         ppm_CopyPage(1,Total,1)
  49.         ppm_GotoPage(i)
  50.         BoxB = ppm_SelectBox(i)
  51.         ppm_LinkBox(BoxA,BoxB)
  52.         BoxA = BoxB
  53.     end
  54.     ppm_LinkBox(BoxA,i)
  55.     call ppm_SetSize(FontSize1)
  56. return
  57.  
  58. TwoColumns:
  59.     Numeric Digits 3
  60.     TempTotal = Total / RecordsPerPage2
  61.     Numeric Digits 1
  62.     TotalPages = Total / RecordsPerPage2
  63.     if TempTotal > TotalPages then TotalPages = TotalPages + 1
  64.     Box1 = ppm_CreateBox(0.3000,0.4200,3.8500,10.1600,0)
  65.     Box2 = ppm_CreateBox(4.3800,0.4200,3.8500,10.1600,0)
  66.     ppm_LinkBox(Box1,Box2)
  67.     ppm_SelectBox(Box1)
  68.     BoxA = Box2
  69.     do i = 2 to TotalPages
  70.         ppm_CopyPage(1,Total,1)
  71.         ppm_GotoPage(i)
  72.         BoxB = ppm_DocNextBox(BoxA)
  73.         ppm_LinkBox(BoxA,BoxB)
  74.         NewBox = ppm_DocNextBox(BoxB)
  75.         ppm_LinkBox(BoxB,NewBox)
  76.         BoxA = NewBox
  77.     end
  78.     call ppm_SetSize(FontSize2)
  79. return
  80.  
  81. ThreeColumns:
  82.     Numeric Digits 3
  83.     TempTotal = Total / RecordsPerPage3
  84.     Numeric Digits 1
  85.     TotalPages = Total / RecordsPerPage3
  86.     if TempTotal > TotalPages then TotalPages = TotalPages + 1
  87.     Box1 = ppm_CreateBox(0.3000,0.3500,2.5200,10.3500,0)
  88.     Box2 = ppm_CreateBox(2.9750,0.3500,2.5200,10.3500,0)
  89.     Box3 = ppm_CreateBox(5.6700,0.3500,2.5200,10.3500,0)
  90.     ppm_LinkBox(Box1,Box2)
  91.     ppm_LinkBox(Box2,Box3)
  92.     ABox = Box3
  93.     do i = 2 to TotalPages
  94.         ppm_CopyPage(1,Total,1)
  95.         ppm_GotoPage(i)
  96.         BBox = ppm_DocNextBox(ABox)
  97.         ppm_LinkBox(ABox,BBox)
  98.         CBox = ppm_DocNextBox(BBox)
  99.         ppm_LinkBox(BBox,CBox)
  100.         NewBox = ppm_DocNextBox(CBox)
  101.         ppm_LinkBox(CBox,NewBox)
  102.         ABox = NewBox
  103.     end
  104.     call ppm_SetSize(FontSize3)
  105. return
  106.  
  107. ColumnAndText:
  108.     NumColumns=ppm_Inform(3,"Pick Number Of Columns To Use","THREE","TWO","ONE")
  109.     if NumColumns = 0 then call ThreeColumns
  110.     if NumColumns = 1 then call TwoColumns
  111.     if NumColumns = 2 then call OneColumn
  112.     ppm_GotoPage(1)
  113.     ppm_SelectBox(Box1)
  114.     ppm_ImportText(Box1,FileName)
  115. return
  116.  
  117.  
  118. PickPrint:
  119.     TypePrint=ppm_Inform(2,"Postscript Or Preference Printer","PREFERENCE PRINTER","POSTSCRIPT")
  120.     if TypePrint = 1 then call PostPrint
  121.     if TypePrint = 0 then call PrefPrint
  122. return
  123.  
  124. PostPrint:
  125.     OutPut = ppm_Inform(3,"Select Type Of Output To Use?","DISK","SER:","PAR:");
  126.     if OutPut = 2 then TypeOutPut = "PAR:"
  127.     if OutPut = 1 then TypeOutPut = "SER:"
  128.     if OutPut = 0 then do
  129.         TypeOutPut = ppm_GetUserText(50,"Enter Name For Output File!")
  130.         if TypeOutPut = "" then call NoPrint
  131.         end
  132.     call ppm_SetPSOutput(TypeOutPut)
  133.     Manual = ppm_Inform(2,"Manual Feed ON-OFF?","OFF","ON")
  134.     call ppm_SetPSManFeed(Manual)
  135.     NumCopy =  ppm_GetUserText(3,"Enter # Of Copies To Print!")
  136.     if NumCopy < 1 then call NoPrint
  137.     if NumCopy > 0 then ppm_PrintDocPS(NumCopy,1)
  138. return
  139.  
  140. PrefPrint:
  141.     Eject=ppm_Inform(2,"Eject Page ON-OFF?","OFF","ON")
  142.     call ppm_SetDMEject(Eject)
  143.     NumCopy =  ppm_GetUserText(3,"Enter # Of Copies To Print!")
  144.     if NumCopy < 1 then call NoPrint
  145.     call ppm_PrintDocDM(NumCopy,1)
  146. return
  147.  
  148.  
  149. NoPrint:
  150.     ppm_Inform(1,"Printing Has Been Cancelled!","OK")
  151.     call ppm_PPageToBack()
  152.     call ppm_New()
  153.     exit
  154. return
  155.  
  156.